package dimensional.traveler.server.services.servlets;

import java.util.Collection;

import com.google.gwt.user.server.rpc.RemoteServiceServlet;
import com.google.inject.Inject;

import dimensional.traveler.client.services.CareerService;
import dimensional.traveler.shared.model.Mission;
import dimensional.traveler.shared.model.missionSequence.MissionSequence;

public class CareerServiceServlet extends RemoteServiceServlet implements CareerService {

	private static final long serialVersionUID = -7259960392422740979L;
	
	@Inject
	CareerService careerService;
	
	@Override
	public MissionSequence startNewCareer(String userName ) {
		return careerService.startNewCareer(userName);
	}

	@Override
	public Collection<Mission> getNewMissions(String userName) {
		return careerService.getNewMissions(userName);
	}

	@Override
	public Collection<Mission> getReplayableMissions(String userName) {
		return careerService.getReplayableMissions(userName);
	}

	@Override
	public void saveProgress(String userName, String saveGameName) {
		careerService.saveProgress(userName, saveGameName);
	}

	@Override
	public void loadGame(String loggedInUser, String saveGameName) {
		careerService.loadGame(loggedInUser, saveGameName);
	}

	@Override
	public void loadLastGame(String loggedInUser) {
		careerService.loadLastGame(loggedInUser);
	}

	@Override
	public MissionSequence startMission(String userName, String missionId) {
		return careerService.startMission(userName, missionId);
	}

	@Override
	public MissionSequence setCharacterClassId(String userName, String characterClassId) {
		return careerService.setCharacterClassId(userName, characterClassId);
	}

	@Override
	public MissionSequence getNextMissionSequence(String userName) {
		return careerService.getNextMissionSequence(userName);
	}

}
